Skip to main content

垂直分库讲解

背景

C端项目里面,单个数据库的CPU、内存长期处于90%+的利用率,数据库连接经常不够,需要进行优化

垂直分库讲解

  • 垂直分库针对的是一个系统中的不同业务进行拆分, 数据库的连接资源比较宝贵且单机处理能力也有限
  • 没拆分之前全部都是落到单一的库上的,单库处理能力成为瓶颈,还有磁盘空间,内存,tps等限制
  • 拆分之后,避免不同库竞争同一个物理机的CPU、内存、网络IO、磁盘,所以在高并发场景下,垂直分库一定程度上能够突破IO、连接数及单机硬件资源的瓶颈
  • 垂直分库可以更好解决业务层面的耦合,业务清晰,且方便管理和维护
  • 一般从单体项目升级改造为微服务项目,就是垂直分库

问题

垂直分库分表可以提高并发,但是依然没有解决单表数据量过大的问题